package ace.cmp.id.generator.uuid.core.property;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * @author Caspar snowflake sequence property
 */
@Data
@ConfigurationProperties(prefix = "ace.cmp.id.generator.uuid")
public class UUIDProperties {
  /**
   * enable uuid sequence
   */
  private Boolean enable = true;

  /**
   * uuid sequence builder implement type
   */
  private UUIDVersionEnum defaultType = UUIDVersionEnum.UUID_V4_RANDOM;

  public static enum UUIDVersionEnum {
    /**
     * uuid time base v1
     */
    UUID_V1_TIME_BASE,
    /**
     * uuid v4
     */
    UUID_V4_RANDOM;
  }
}
